草庐IT

android canvas 不绘制 Arc

全部标签

c# - 在 Windows Vista/7 Aero 标题栏上绘制自定义按钮

我在StackOverflow上发现了这个问题.基本上,用户想在标题栏上绘制自定义按钮。我尝试了代码并意识到只有在Aero被禁用时它才能在vista/7中工作。我的问题是,aero启用时,是否有任何方法可以在标题栏上绘制自定义按钮?此外,是否有任何方法可以从当前主题中读取信息,以便我可以设计我的按钮以匹配已经存在的按钮。更新这是我的电脑截图,展示了上述概念。安装DisplayFusion后,我得到了额外的标题栏按钮。而且我知道DisplayFusion是一个.NET程序,因为它在.NETReflector中打开。不利的一面是程序被混淆了。不像我想反编译程序或任何东西;我只想在我的标题栏

c# - GDI+ 在基线上绘制不同大小的文本存在 off-by-1px 问题

我需要打印数字,通过增加字体大小和粗细来强调中间的一些数字。在下面的示例中,强调了456。使用的字体和两种大小是用户可配置的。当前代码使用对Graphics.DrawString(...)的三个调用来完成此操作。我遇到的问题是,对于大多数字体,我看到偏移1像素的问题(相对于灰线,456比其他数字高一个像素):我在帖子底部附上了一些针对各种字体的调试转储(BobPowell公式)。其他技术产生了类似的结果。为了在公共(public)基线上打印文本,需要计算特定字体的基线偏移量。我尝试使用三种技术:首先是MSDN的代码:http://msdn.microsoft.com/en-us/lib

c# - 控制台图表绘制

我需要一种方法来绘制Dictionary进入控制台应用程序,例如DictionarychartList=newDictionary(){{50,31},//x=50,y=31{71,87},{25,66},{94,15},{33,94}};DrawChart(chartList);应该会产生类似的结果我已经走到这一步了,但我还停留在IsHit上方法,它确定是否应在当前坐标处设置一个点。在这一点上有人可以帮助我吗?它始终返回true。publicstaticvoidDrawChart(Dictionarydict){intconsoleWidth=78;intconsoleHeight=

c# - Winforms WPF Interop - WPF 内容无法绘制

我有一个WinForm,它使用ElementHost来显示WPFUserControl。每50次左右一次,当窗体加载WPF内容时无法绘制。您可以透过WinForm镶边看到下面的任何内容。调整窗口大小会显示WPF内容。这是一个已知问题吗?谁能建议解决方法? 最佳答案 我们以前遇到过这类问题。请参阅此WPF论坛post有关我们特定口味的更多信息(我不知道这是否是同一问题)。我们发现唯一可行的方法是更改ElementHost的大小。_elementHost.Width++;这是一个彻头彻尾的黑客,丑陋的,我什至都不好意思发布它。但没有别的

c# - 在 GDI+ 中绘制坐标的硬界限是什么?

我这样渲染插值曲线:e.Graphics.DrawLines(newPen(Color.Red),_interpolationPoints.ToArray());有时会抛出OverflowException。检查_interpolationPoints数组显示了一些非常大的科学计数值,例如{X=0.0Y=-1.985174E+10}我怀疑Y=-1.985174E+10是GDI+无法处理的值。这很好,但是我可以绘制的最大/最小X和Y值是多少,因此可以限制数据(并警告用户)而不是在绘制期间捕获溢出异常?限制是否记录在案?例如,我想做这样的事情:if(yValfloat.MaxValue)t

c# - 绘制控件时翻转坐标

我正在控件上绘制图形,但0,0位于控件的左上角。有没有办法翻转坐标,使0,0位于控件的左下角? 最佳答案 如果您使用的是WinForms,那么您可能会发现可以使用Graphics.ScaleTransform翻转Y轴:privatevoidScaleTransformFloat(PaintEventArgse){//BegingraphicscontainerGraphicsContainercontainerState=e.Graphics.BeginContainer();//FliptheY-Axise.Graphics.Sc

c# - 在 DrawingContext 中绘制一个实心三角形

这是此question的跟进.问题:我正在尝试使用DrawingContext绘制一个实心三角形,它在DrawingVisual上呈现目前,我已经成功地使用以下C#代码绘制了三角形的轮廓:privateDrawingVisualCreateTriangle(){DrawingVisualtriangle=newDrawingVisual();using(DrawingContextdc=triangle.RenderOpen()){PendrawingPen=newPen(Brushes.Black,3);dc.DrawLine(drawingPen,newPoint(0,50),ne

c# - 在 C# 中绘制视频

我正在制作一个应用程序,允许用户应用某些工具来分析视频和图像。我需要帮助我如何在我的表单中加载到WindowsMediaPlayer的视频上实际绘制/写入并能够将其保存。它需要能够让用户在其上徒手绘制和绘制形状。提前致谢,克里斯:) 最佳答案 使用winforms中的wmp控件,这是一项非常重要的任务,即使不是不可能完成的任务。我不知道有什么方法可以实际在wmp上绘图,但您可以在覆盖在wmp上的透明面板上绘图。如果视频正在播放,这将不起作用,但您可以在暂停时显示绘图。我已经使用这种技术来绘制类似于wmp的第3方视频控件。(编辑-这似

C# 绘制三点圆弧

我需要使用GraphicsPath绘制弧线并具有初始点、中间点和终点。电弧必须通过它们。我尝试了.DrawCurve和.DrawBezier,但结果并不完全是一条弧线。我能做什么?解决方案:经过几个小时的代码编写后,我设法用这个算法画出了我想要的东西(给出3点a、b、c和一个GraphicsPath路径):doubled=2*(a.X-c.X)*(c.Y-b.Y)+2*(b.X-c.X)*(a.Y-c.Y);doublem1=(Math.Pow(a.X,2)-Math.Pow(c.X,2)+Math.Pow(a.Y,2)-Math.Pow(c.Y,2));doublem2=(Math.

c# - 绘制图像时 : System. Runtime.InteropServices.ExternalException: GDI 中发生一般性错误

我有一个从Panel创建的全局图形对象。每隔一定时间从磁盘中拾取图像并使用Graphics.DrawImage()绘制到面板中。它在几次迭代中工作正常,然后我得到以下有用的异常:System.Runtime.InteropServices.ExternalException:AgenericerroroccurredinGDI+.atSystem.Drawing.Graphics.CheckErrorStatus(Int32status)atSystem.Drawing.Graphics.DrawImage(Imageimage,Int32x,Int32y)atSystem.Drawi